The present invention relates in general to a computer system and more particularly to a computer system for displaying one or more windows to a user of the computer system using, for example, a computer monitor.
Windows are a common way of displaying information to a user of a computer system. Typically, software programs that run on computer systems intended for consumer or many other types of end-user applications will provide a user interface comprising many windows containing different types of information. A xe2x80x9cwindowxe2x80x9d generally refers to a defined portion of a display screen, such as a computer monitor, within which informational content is provided by the computer program. Typically, a window permits a computer program or operating system to take actions on the window and its content that are independent of information displayed outside of the window. As an example, the location of a window on a computer monitor may be moved by the user using, for example, a mouse. The user may also resize or collapse the window into a smaller window using a xe2x80x9cclose windowxe2x80x9d icon on a portion of the window, which is typically represented as an xe2x80x9cxxe2x80x9d located in an upper corner of the window. In other cases, a user may scroll the information in one window without affecting the display of information in other windows such as, for example, in an Internet browser computer program (or simply xe2x80x9cbrowserxe2x80x9d) using multiple frames for presenting information. An example of such a browser is Netscape Communicator version 4.72 distributed by Netscape Communications Corporation.
As the computer program executes and responds to various options selected by a user or even other events detected by, for example, a server where the program is a client program, the program will display several windows to the user. These windows are conventionally rectangular in shape, but may have other artistic shapes defined by the program. Often, multiple windows will overlap on the user display as each new window is displayed.
Windows are extensively used for presenting information obtained from the Internet to computer users, such as by the browser mentioned above. Browsers and other Internetenabled software also may initiate the display of additional windows to the user during operation. Such windows are typically designed by the developer of the software to complement or supplement other browsing or Internet services being provided to the user by or through the software. An example of such a complementary service would be an advertisement pop-up window that appears when the user is viewing certain content or taking specific actions, for example requesting an Internet search on a sports topic.
As the Internet continues to become an ever more pervasive means of commerce, competitors to the company that developed certain software, for example the browser mentioned above, will desire to find ways to attract the attention and interest of users of the software by displaying windows to the user that have been generated by the competitor. This is related in large part to the desire to present advertisements to users and to receive a commission for sales made by the user directly or indirectly through the competitor""s window. However, browser developers, along with developers of other Internet software applications, generally do not desire that competitors be able to readily display such competitive windows in the absence of an advertising or other marketing agreement.
Also, users of application programs for the Internet or otherwise often desire to add additional functionality that does not exist in one of the original programs. So-called add-on programs are widely available to add such additional functionality. Frequently, the developer of an application program will provide an application program interface (API) to permit ready design and interoperability of such add-on programs. In other cases, however, no API is provided. It would be desirable to have an improved way to add functionality to a program provided without an API by the display of one or more additional windows generated by the add-on program so that a user can still add additional functionality in such cases.
Accordingly, there is a need for an improved way to add functionality to Internet and other software programs not having published APIs. Also, business competitors or others desiring to present competitive or other types of product and/or service information to users of a software program have a need for displaying windows to a user of a computer system running the software program where such display is initiated based on actions taken by users of, or events associated with, the software program.